<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // 1 回调是解决异步的
        // 2 promise解决异步   更加合理，更加强大
        //


        // function fn() {
        //     console.log(1);
        // }

        // var res = fn();
        // console.log(res);   // undefined


        // function fn() {
        //     this.name = 'cc';
        //     this.age = 20;
        //     console.log(1);
        // }

        // var res = new fn(); 
        // console.log(res);   //  new 创建了一个对象 ， this->对象   返回了这个对象 {}




        // 语法：在声明函数的前面添加这个修饰符
        async function fn() {
            console.log(1);
            return 10
        }

        // async  帮助我们创建了一个promise   并且还返回了这个成功的promise，且以这个函数原来的返回值作为成功的结果

        var res = fn();
        console.log(res);   // promise




        // function myAsync(fn) {
        //     return new Promise(resolve => {
        //         const res = fn();
        //         resolve(res)
        //     })
        // }


        // console.log(myAsync(function () {
        //     return 200
        // }));





    </script>

</body>

</html>